Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>ICFP Programming Contest</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/ICFP_Programming_Contest"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-ICFP_Programming_Contest rootpage-ICFP_Programming_Contest skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">ICFP Programming Contest</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>The <b>ICFP Programming Contest</b> is an international programming competition held annually around June or July since 1998, with results announced at the <a href="International_Conference_on_Functional_Programming" title="International Conference on Functional Programming">International Conference on Functional Programming</a>.
</p><p>Teams may be of any size and any programming language(s) may be used. There is also no entry fee. Participants have 72 hours to complete and submit their entry over the Internet. There is often also a 24-hour lightning division.
</p><p>The winners reserve "bragging rights" to claim that their language is "the programming tool of choice for discriminating hackers". As such, one of the competition's goals is to showcase the capabilities of the contestants' favorite programming languages and tools. Previous first prize winners have used <a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>, <a href="OCaml" title="OCaml">OCaml</a>, <a href="C%2B%2B" title="C++">C++</a>, <a href="Cilk" title="Cilk">Cilk</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a>, and <a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>.
</p><p>The contests usually have around 300 submitted entries.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Past_tasks">Past tasks</h2></div>
<table class="wikitable">

<tbody><tr>
<th>Year
</th>
<th>Organiser
</th>
<th>Description
</th></tr>
<tr>
<td>1998
</td>
<td><a href="Universit%C3%A9_de_Montr%C3%A9al" title="Université de Montréal">Université de Montréal</a> and <a href="Massachusetts_Institute_of_Technology" title="Massachusetts Institute of Technology">Massachusetts Institute of Technology</a>
</td>
<td>Write a program that plays <i>pousse</i>, an odd variant of tic-tac-toe. Contestant programs were entered into a tournament to determine the first- and second-place program.
</td></tr>
<tr>
<td>1999
</td>
<td><a href="Harvard_University" title="Harvard University">Harvard University</a>
</td>
<td>Size-optimize <i>case</i> statements (the contest task spoke about text-based <a href="Adventure_games" class="mw-redirect" title="Adventure games">adventure games</a>, but in fact the task was to size-optimize the description of such a game).
</td></tr>
<tr>
<td>2000
</td>
<td><a href="Cornell_University" title="Cornell University">Cornell University</a>
</td>
<td>Implement a ray tracer using a Postscript-like syntax.
</td></tr>
<tr>
<td>2001
</td>
<td><a href="INRIA" class="mw-redirect" title="INRIA">INRIA</a> Rocquencourt
</td>
<td>Size-optimize an HTML-like markup language by removing unnecessary whitespace and tags, and so on.
</td></tr>
<tr>
<td>2002
</td>
<td><a href="OGI_School_of_Science_and_Engineering" title="OGI School of Science and Engineering">OGI School of Science and Engineering</a>
</td>
<td>Implement robots playing a <a href="Sokoban" title="Sokoban">Sokoban</a>-like game one against each other.
</td></tr>
<tr>
<td>2003
</td>
<td><a href="Chalmers_University" class="mw-redirect" title="Chalmers University">Chalmers University</a>
</td>
<td>Implement robots driving a car as fast as possible through different racing tracks.
</td></tr>
<tr>
<td>2004
</td>
<td><a href="University_of_Pennsylvania" title="University of Pennsylvania">University of Pennsylvania</a>
</td>
<td>Design an ant colony that will bring the most food particles back to its anthill, while fending off ants of another species. The contest entry would output a state-machine description of the ant: in principle, entries could have been written by hand. Later the task was adapted into Ant Wars, a <a href="Strategy_game" title="Strategy game">strategy</a> and <a href="Programming_game" title="Programming game">programming game</a> where each participant is a species of <a href="Ant" title="Ant">ant</a>. The participants then, in a language called Antomata,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> program a <a href="Finite-state_machine" title="Finite-state machine">finite-state machine</a> to function as the brain of each ant. The ant <a href="Brain" title="Brain">brain</a> then controls the ant to find and collect food to bring to the home <a href="Ant_colony" title="Ant colony">ant hill</a>, to fend off attackers or make trails of pheromones.
</td></tr>
<tr>
<td>2005
</td>
<td><a href="Racket_(programming_language)" title="Racket (programming language)">PLT</a> group
</td>
<td>Implement "bots" for a "Cops &amp; Robbers" game: contestants have to write the control program that guides a Robber-Bot through a quiet urban neighborhood on a mission to rob every bank without getting caught, and the control program for a Cop-Bot dedicated to stopping it.
</td></tr>
<tr>
<td>2006
</td>
<td><a href="Carnegie_Mellon_University" title="Carnegie Mellon University">Carnegie Mellon University</a>
</td>
<td>Implement a virtual machine that runs an operating system (called UMIX) provided by the judges, and crack it using new programming languages with unconventional syntax and semantics, such as 2D and a version of <a href="BASIC" title="BASIC">BASIC</a> using Roman numerals. Many puzzles were tiny versions or parodies of previous contests.
</td></tr>
<tr>
<td>2007
</td>
<td><a href="Utrecht_University" title="Utrecht University">Utrecht University</a>
</td>
<td>Implement a 2-stage virtual machine that executes a DNA-like string to produce an image. Then, given an input string for this machine, find a prefix that when added to this string yields an image as close as possible to the given target image.
</td></tr>
<tr>
<td>2008
</td>
<td><a href="Portland_State_University" title="Portland State University">Portland State University</a> and the <a href="University_of_Chicago" title="University of Chicago">University of Chicago</a>
</td>
<td>Provide a Mars rover control system that will guide it to a home base while avoiding obstacles and enemies.
</td></tr>
<tr>
<td>2009
</td>
<td><a href="University_of_Kansas" title="University of Kansas">University of Kansas</a>
</td>
<td>Control a satellite to move between specified orbits and rendezvous with other satellites.
</td></tr>
<tr>
<td>2010
</td>
<td><a href="Leipzig_University_of_Applied_Science" class="mw-redirect" title="Leipzig University of Applied Science">Leipzig University of Applied Science</a>, Germany
</td>
<td>International Car and Fuel Production.
</td></tr>
<tr>
<td>2011
</td>
<td><a href="Tohoku_University" title="Tohoku University">Tohoku University</a>, Japan
</td>
<td>Program a computer with 256 "slots" to outlast its opponent in terms of slots remaining at the end of the match. Submissions include executables that are entered into a two-phase tournament.
</td></tr>
<tr>
<td>2012
</td>
<td><a href="University_of_St_Andrews" title="University of St Andrews">University of St Andrews</a>, Scotland
</td>
<td>Program an AI for a <a href="Boulder_Dash_(video_game)" title="Boulder Dash (video game)">Boulder Dash</a>-like game.
</td></tr>
<tr>
<td>2013
</td>
<td><a href="Microsoft_Research" title="Microsoft Research">Microsoft Research</a>
</td>
<td>Guess the implementation of a blackbox function implemented in a simple functional language through querying a web service.
</td></tr>
<tr>
<td>2014
</td>
<td><a href="University_of_Oxford" title="University of Oxford">University of Oxford</a> and Well-Typed LLP
</td>
<td>Write AI programs for a pacman like game, in <a href="SECD_machine" title="SECD machine">SECD machine</a> instruction for pacman and <a href="8-bit" class="mw-redirect" title="8-bit">8-bit</a> machine assembly instructions for four ghosts.
</td></tr>
<tr>
<td>2015
</td>
<td>Galois
</td>
<td>Write an AI for <a href="Tetris" title="Tetris">Tetris</a>-like game on a hexagon grid field that embeds secret phrases in the move sequence.
</td></tr>
<tr>
<td>2016
</td>
<td><a href="University_of_Electro-Communications" title="University of Electro-Communications">University of Electro-Communications</a>
</td>
<td>Write an AI to solve abstract <a href="Origami" title="Origami">origami</a>.
</td></tr>
<tr>
<td>2017
</td>
<td><a href="University_of_Edinburgh" title="University of Edinburgh">University of Edinburgh</a>
</td>
<td>Write an AI for a game where players in turn claim route parts on the map and the one with the best coverage wins. There are also three extensions to the main game mode, any number of which can be enabled on a map.
</td></tr>
<tr>
<td>2018
</td>
<td><a href="Rochester_Institute_of_Technology" title="Rochester Institute of Technology">Rochester Institute of Technology</a>
</td>
<td>Generate nanobot traces to construct, destruct, and reconstruct target 3D objects while minimizing energy used.
</td></tr>
<tr>
<td>2019
</td>
<td><a href="Yale-NUS_College" title="Yale-NUS College">Yale-NUS College</a> and <a href="National_University_of_Singapore" title="National University of Singapore">National University of Singapore</a>
</td>
<td>Worker-Wrappers against Bit Rot.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>2020
</td>
<td><a href="https://ru.wikipedia.org/wiki/%D0%A1%D0%9A%D0%91_%D0%9A%D0%BE%D0%BD%D1%82%D1%83%D1%80" class="extiw external" title="ru:СКБ Контур">SKB Kontur</a>
</td>
<td>Build virtual machine by the <a rel="nofollow" class="external text" href="https://message-from-space.readthedocs.io/en/latest/personal-appeal.html">alien specification</a>, run alien provided game-server on that VM, explore the game (2D space battle on the planet orbit with Chebyshev distance, with accelerate, shoot, split and detonate commands), reverse engineer game-protocol and create bot to play this game.
</td></tr>
<tr>
<td>2021
</td>
<td>Alex Lang and Jasper Van der Jeugt
</td>
<td>Manipulate a figure similar to a <a href="Linkage_(mechanical)" title="Linkage (mechanical)">mechanical linkage</a> to fit through a <a href="Brain_Wall" title="Brain Wall">hole in the wall</a>.
</td></tr>
<tr>
<td>2022
</td>
<td>Alperen Keles
</td>
<td>Reconfigure a prefilled canvas into a painting.
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Prizes">Prizes</h2></div>
<p>Prizes have a modest cash value, primarily aimed at helping the winners to attend the conference, where the prizes are awarded and the judges make the following declarations:
</p>
<dl><dt>First prize</dt>
<dd><i>[Language 1]</i> is the programming tool of choice for discriminating hackers.</dd>
<dt>Second prize</dt>
<dd><i>[Language 2]</i> is a fine programming tool for many applications.</dd>
<dt>Third prize</dt>
<dd><i>[Language 3]</i> is also not too shabby.</dd>
<dt>Winner of the lightning division</dt>
<dd><i>[Language L]</i> is very suitable for rapid prototyping.</dd>
<dt>Judges' prize</dt>
<dd><i>[Team X]</i> are an extremely cool bunch of hackers.</dd></dl>
<p>Where a winning entry involves several languages, the winners are asked to nominate one or two.
The languages named in the judges' declarations have been:
</p>
<table class="wikitable">

<tbody><tr>
<th>Year
</th>
<th>First Prize
</th>
<th>Second Prize
</th>
<th>Third Prize
</th>
<th>Lightning
</th></tr>
<tr>
<td>1998
</td>
<td><a href="Cilk" title="Cilk">Cilk</a>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td>
<td>
</td>
<td>
</td></tr>
<tr>
<td>1999<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td>
<td><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td>
</td>
<td><sup id="cite_ref-lightning-judge_6-0" class="reference"><a href="#cite_note-lightning-judge-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>2000<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td>
<td>
</td>
<td>
</td></tr>
<tr>
<td>2001<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td><a href="Dylan_(programming_language)" title="Dylan (programming language)">Dylan</a>
</td>
<td>
</td>
<td>
</td></tr>
<tr>
<td>2002
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td>
<td><a href="C_(programming_language)" title="C (programming language)">C</a>
</td>
<td>
</td>
<td><sup id="cite_ref-lightning-judge_6-1" class="reference"><a href="#cite_note-lightning-judge-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>2003
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td></tr>
<tr>
<td>2004<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a> and <a href="C%2B%2B" title="C++">C++</a>
</td>
<td>
</td>
<td><a href="Java_(programming_language)" title="Java (programming language)">Java</a> and <a href="C%2B%2B" title="C++">C++</a>
</td></tr>
<tr>
<td>2005<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td><a href="Dylan_(programming_language)" title="Dylan (programming language)">Dylan</a>
</td>
<td><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td>
</td></tr>
<tr>
<td>2006
</td>
<td>2D<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="D_(programming_language)" title="D (programming language)">D</a>
</td>
<td><a href="Assembly_language" title="Assembly language">Assembly</a>
</td>
<td>
</td></tr>
<tr>
<td>2007
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td><a href="Perl" title="Perl">Perl</a>
</td>
<td>
</td>
<td><sup id="cite_ref-lightning-2007_12-0" class="reference"><a href="#cite_note-lightning-2007-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>2008<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Java_(programming_language)" title="Java (programming language)">Java</a>
</td>
<td>
</td>
<td>
</td>
<td><a href="ML_(programming_language)" title="ML (programming language)">ML</a>
</td></tr>
<tr>
<td>2009<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td><a href="Java_(programming_language)" title="Java (programming language)">Java</a>
</td>
<td>
</td>
<td><a href="ML_(programming_language)" title="ML (programming language)">ML</a>
</td></tr>
<tr>
<td>2010<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>, <a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>, <a href="Python_(programming_language)" title="Python (programming language)">Python</a>
</td>
<td>
</td>
<td>
</td>
<td><a href="SageMath" title="SageMath">SageMath</a>
</td></tr>
<tr>
<td>2011<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="F_Sharp_(programming_language)" title="F Sharp (programming language)">F#</a>
</td>
<td><a href="Unix_shell" title="Unix shell">Shell</a> and <a href="C%2B%2B" title="C++">C++</a>
</td>
<td>
</td>
<td>
</td></tr>
<tr>
<td>2012<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td>
<td>
</td>
<td><a href="Java_(programming_language)" title="Java (programming language)">Java</a>
</td></tr>
<tr>
<td>2013<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="C%2B%2B" title="C++">C++</a>, <a href="PHP" title="PHP">PHP</a>, <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a> and <a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a> and <a href="Python_(programming_language)" title="Python (programming language)">Python</a>
</td>
<td><a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="C%2B%2B" title="C++">C++</a>, <a href="Bash_(Unix_shell)" title="Bash (Unix shell)">bash</a>, <a href="AWK" title="AWK">awk</a>, <a href="Sed" title="Sed">sed</a> and <a href="Microsoft_Excel" title="Microsoft Excel">Excel</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td></tr>
<tr>
<td>2014<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td><a href="Perl" title="Perl">Perl</a>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td></tr>
<tr>
<td>2015<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="PHP" title="PHP">PHP</a>, <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a> and <a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>, <a href="Python_(programming_language)" title="Python (programming language)">Python</a>, <a href="JavaScript" title="JavaScript">JavaScript</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td></tr>
<tr>
<td>2016<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="C%2B%2B" title="C++">C++</a>, <a href="C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="PHP" title="PHP">PHP</a>, <a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>, <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>, <a href="Python_(programming_language)" title="Python (programming language)">Python</a>, <a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>, <a href="Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="JavaScript" title="JavaScript">JavaScript</a>
</td>
<td>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td></tr>
<tr>
<td>2017<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td></tr>
<tr>
<td>2018<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>, <a href="Python_(programming_language)" title="Python (programming language)">Python</a>, <a href="Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>, <a href="JavaScript" title="JavaScript">JavaScript</a>, <a href="Bash_(Unix_shell)" title="Bash (Unix shell)">bash</a> and <a href="SQL" title="SQL">SQL</a>
</td>
<td>
</td>
<td><a href="OCaml" title="OCaml">OCaml</a>
</td></tr>
<tr>
<td>2019<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>
</td>
<td>
</td>
<td><a href="C%2B%2B" title="C++">C++</a> and <a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td></tr>
<tr>
<td>2020<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Python_(programming_language)" title="Python (programming language)">Python</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a> (first winner), <a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a> (second winner)
</td>
<td>
</td>
<td><a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>
</td></tr>
<tr>
<td>2021<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>, <a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>
</td>
<td><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>
</td>
<td><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>, <a href="TypeScript" title="TypeScript">TypeScript</a> and <a href="Go_(programming_language)" title="Go (programming language)">Go</a>
</td>
<td><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>, <a href="TypeScript" title="TypeScript">TypeScript</a> and <a href="Go_(programming_language)" title="Go (programming language)">Go</a>
</td></tr>
<tr>
<td>2022<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>
</td>
<td><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>, <a href="Go_(programming_language)" title="Go (programming language)">Go</a> and <a href="Python_(programming_language)" title="Python (programming language)">Python</a>
</td>
<td><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>, <a href="C%2B%2B" title="C++">C++</a> and <a href="Python_(programming_language)" title="Python (programming language)">Python</a>
</td>
<td><a href="C%2B%2B" title="C++">C++</a>, <a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a> and <a href="Python_(programming_language)" title="Python (programming language)">Python</a>
</td>
<td><a href="Rust_(programming_language)" title="Rust (programming language)">Rust</a>, <a href="C%2B%2B" title="C++">C++</a> and <a href="Python_(programming_language)" title="Python (programming language)">Python</a>
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="International_Collegiate_Programming_Contest" title="International Collegiate Programming Contest">International Collegiate Programming Contest</a> (ICPC)</li>
<li><a href="Online_judge" class="mw-redirect" title="Online judge">Online judge</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References_and_notes">References and notes</h2></div>
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.boundvariable.org/scoreboard.shtml">"ICFP Programming Contest Scoreboard"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">23 September</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20111002133032/https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/results.php">"Archived copy"</a>. Archived from <a rel="nofollow" class="external text" href="https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/results.php">the original</a> on 2011-10-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-09-22</span></span>.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite web}}</code>: CS1 maint: archived copy as title (link)</span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070929161325/http://www.ant-wars.net/html/antomata.html">"Antomata - The Language of Ant Wars"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.ant-wars.net/html/antomata.html">the original</a> on 2007-09-29<span class="reference-accessdate">. Retrieved <span class="nowrap">2007-11-25</span></span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://icfpcontest2019.github.io/post/start/">"The Contest Begins"</a>. <i>ICFP Programming Contest 2019</i>. 2019-06-21<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-15</span></span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.cs.tufts.edu/~nr/icfp/results.html">Final results of the ICFP'99 Programming Contest</a></span>
</li>
<li id="cite_note-lightning-judge-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-lightning-judge_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-lightning-judge_6-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">The contests in 1999 and 2002 had a lightning division, but without a separate prize. The winners of that division were awarded Judges' prizes.</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.cs.cornell.edu/icfp/">The Third Annual ICFP Programming Contest</a></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://cristal.inria.fr/ICFP2001/prog-contest/">The Fourth ICFP Programming Contest</a></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://alliance.seas.upenn.edu/~plclub/cgi-bin/contest/results.php">The Seventh Antual ICFP Programming Contest</a></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://icfpc.plt-scheme.org/">The Eighth Annual ICFP Programming Contest</a></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text">2D was a toy language invented for the 2006 contest.
The winning team used <a href="C%2B%2B" title="C++">C++</a>, <a href="Haskell_(programming_language)" class="mw-redirect" title="Haskell (programming language)">Haskell</a>, <a href="Python_(programming_language)" title="Python (programming language)">Python</a>, <a href="Bash_(Unix_shell)" title="Bash (Unix shell)">Bash</a>, and 2D.</span>
</li>
<li id="cite_note-lightning-2007-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-lightning-2007_12-0">^</a></b></span> <span class="reference-text">The 2007 contest had a lightning division, but since there was no clear leader after 24 hours the judges decided not to choose a winner.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://web.cecs.pdx.edu/~sheard/2008IcfpContest/results/">ICFP 2008 Programming Contest Results</a></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external free" href="https://www.vimeo.com/6613815">http://www.vimeo.com/6613815</a> - accessed September 23, 2009</span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://vimeo.com/15391093">ICFP 2010 Programming Contest</a> (video)</span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://icfpc2011.blogspot.jp/">ICFP Programming Contest 2011</a></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://icfpcontest2012.wordpress.com/">ICFP Programming Contest 2012</a></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20131016080051/http://icfpc2013.cloudapp.net/">"ICFP Programming Contest 2013"</a>. Archived from <a rel="nofollow" class="external text" href="http://icfpc2013.cloudapp.net/">the original</a> on 2013-10-16<span class="reference-accessdate">. Retrieved <span class="nowrap">2013-08-15</span></span>.</cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://icfpcontest2014.github.io">ICFP Programming Contest 2014</a></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://2015.icfpcontest.org/">ICFP Programming Contest 2015</a></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://icfpc2016.blogspot.com.au/2016/09/contest-results-are-up.html">ICFP Programming Contest 2016</a></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://icfpcontest2017.github.io/">ICFP Programming Contest 2017</a></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://icfpcontest2018.github.io/">ICFP Programming Contest 2018</a></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://icfpcontest2019.github.io/post/results-announced/">"Final Results"</a>. <i>ICFP Programming Contest 2019</i>. 2019-08-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2020-07-15</span></span>.</cite></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=WfRqE4NBecM">"ICFP Programming Contest Awards and Reports"</a>. 2020-08-26. <a rel="nofollow" class="external text" href="https://ghostarchive.org/varchive/youtube/20211221/WfRqE4NBecM">Archived</a> from the original on 2021-12-21<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-05-29</span></span>.</cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://icfpcontest2021.github.io/">ICFP Programming Contest 2021</a></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://icfpcontest2022.github.io/">ICFP Programming Contest 2022</a></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.icfpconference.org/contest.html">Contest at ICFP site</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-18" href="https://en.wikipedia.org/wiki/?title=ICFP_Programming_Contest&amp;oldid=1301162337">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>